#include <iostream>

using namespace std;

/**计算最大公因数*/
int redu(int, int);

int main()
{
    /**储存第二个分数*/
    int f1[2];
    /**储存第一个分数*/
    int f2[2];
    char sp;
    cout << "请输入第一个分数(比如2/1)：";
    cin >> f1[0] >> sp >> f1[1];            //input
    cout << "请输入第二个分数(比如1/2)：";
    cin >> f2[0] >> sp >> f2[1];            //input
    
    //储存没有约分过的结果
    int res[2];
    res[0] = f1[0]*f2[0];
    res[1] = f1[1]*f2[1];
    
    //约分
    if (redu(res[0], res[1]) == 0);
    else
    {
        int max, brk;
        while(brk != 1)
        {
            max = redu(res[0], res[1]);
            if (max == 1)
            {
                brk = 1;
            }
            res[0] /= max;
            res[1] /= max;
        }
    }
    //如果能整除
    if(res[0] % res[1] == 0)
    {
        cout << "结果为：" << res[0] / res[1] << endl;
    }
    //不能整除的输出结果
    else
    {
        cout << "结果为：" << res[0] << "/" << res[1];
    }

    
    
    //退出程序
    return 0;
}
int redu(int num1, int num2)
{
    //储存最大公因数
    int res = 0;
    
    //计算最大公因数
    if (num1 > num2)
    {
        for(int i = 1; i <= num2; i++)
        {
            if(num1 % i == 0 && num2 % i ==0)
            {
                res = i;
            }
        }
    }
    else if (num1 == num2)
    {
        res = num1;
    }
    else
    {
        for(int i = 1;i <= num1; i++)
            if(num1 % i == 0 && num2 % i == 0)
            {
                res = i;
            }
    }
    
    //返回最大公因数
    return res;
}
